#ifndef _STU_H
#define _STU_H

#include <iostream>
using namespace std;
#include <string>
#include <fstream>
#include <vector>
#include <stdlib.h>
#include <unistd.h>
#include <algorithm>

#define stupath "./bin/data.txt"

/*
    学生管理系统
    管理员界面学生的增（注册）删（注销）改 查 排
    学生信息在内存中使用容器保存
    磁盘中用文件保存
*/

class stu
{
//重载<<
friend ofstream& operator << (ofstream&,const stu&);
//重载>>
friend ifstream& operator >> (ifstream&,stu&);
private:
    int id;
    string name;
public:
    stu(int id,string name)
    :name(name),id(id){}
    ~stu(){}
    string getN(){return name;}
    int getI(){return id;}
    void setN(string a){name=a;}
    void setI(int b){id=b;}
};

//读取文件到容器中
void readFromFile(string,vector<stu>*);

//将内存写入文件
void writeToFile(string,vector<stu>*);

class admin
{
private:
    
public:
    //构造 界面
    admin();
    ~admin();
    //注册
    void regist();
    //注销
    void cancel();
    //查询
    void search();
    //排序
    void stuSort();
};

//排序比较
bool stuCmp(stu&,stu&);






#endif